原帖 | Jack | 2024-09-26 15:19 | 👍0 | 阅读约1
还有一种射线回调就是:
比如说,你现在有三个时间,说A事件需要五秒钟要调度一下,B事件他要十秒钟调度一下,然后C事件是15秒钟要调度一下。那么它们最大公约数你取一下就是五,那么就说可以把它们三个放到一个设置为五秒钟的这个定时器的中断回调里,那么在五秒钟这个定时器上,它就会同时去调度这三个任务。以此类推,你会有很多的任务,那么你就可以定义多个定时器,这些定时器都是这些任务运行周期的最大公约数。那么这里通过求最大公约数,相当于找到这些任务在同一个时间上的交点,在这个交点上,我给它设一个定时器,那么就可以按时进行一个非常快速的前后台的任务切换,基本不怎么消耗调度。当然了,也会有一些限制,比如一些任务不能执行的太久。
相关笔记